es:ES, ds:x:Id fp Type, T:Type, i:Id, f:(State(ds)T).
(x, y:T. Dec(x = y))
@i discrete ds e'@i.
(e:E. eloc e' (f((discrete state when e)) = f((discrete state after e')) T))
(e:E
((eloc e' (c (((f((discrete state when e)) = f((discrete state after e'))))
(c & (e'':E.
(c & ((e <loc e'')
(c & (e''loc e' (c & ( (f((discrete state when e'')) = f((discrete state after e')) T)))))